OTN and DFO Activity Summary in Eastern Canada: DRAFT
About this Document
This summary has been created using reproducible code, which gathers and filters data from the Ocean Tracking Network (OTN) to highlight activities in which Fisheries and Oceans Canada (DFO) has actively participated in eastern Canada.
This summary is being prepared with the support of the OTN International Data Management Committee and DFO staff to provide an overview of current OTN DFO activities.
Please note that while we strive to include all relevant DFO-OTN information in this summary, there may be instances where some projects are not listed. If you are a DFO investigator with an OTN project that you do not see here, we encourage you to contact OTN directly.
DFO & OTN
The OTN is a global aquatic research, data management and partnership platform. Since 2008, OTN has been deploying state-of-the-art ocean monitoring equipment and marine autonomous vehicles (gliders) in key ocean locations and inland waters around the world. OTN’s technical capabilities expanded in 2020 with the addition of remotely operated vehicles (ROVs) and side scan sonar systems. Researchers around the world are using OTN’s global infrastructure and analytical tools to document the movements and survival of aquatic animals in the context of changing ocean and freshwater environments. For more information, please visit the OTN site.
DFO is a partner in the OTN effort. DFO researchers initiate projects, while the OTN provides support. OTN assumes a leading role in managing infrastructure and its maintenance, as well as providing equipment to support research projects. Some DFO scientists upload data to OTN’s database to manage and ensure data quality.
Both OTN and DFO are committed to the principles of open data, actively working to ensure transparency and accessibility in sharing data related to marine research and monitoring.
OTN Data Wrangling
In this section, we gather data from OTN and leverage it to create informative maps and plots for this summary document. Our process involves data acquisition, filtering, and visualization. Below, we provide a brief overview of these steps, and you can expand the code sections to see the full data wrangling process.
proj_start <- ymd("20190101")
proj_end <- ymd("20230909")
proj_long_upp <- -40.00
proj_long_low <- -70.00
proj_lat_upp <- 60.00
proj_lat_low <- 40.00geoserver_receivers <- readr::read_csv('https://members.oceantrack.org/geoserver/otn/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=otn:stations_receivers&outputFormat=csv', guess_max = 13579)geoserver_tag_releases <- readr::read_csv('https://members.oceantrack.org/geoserver/otn/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=otn:animals&outputFormat=csv', guess_max = 13579)
geoserver_tag_releases <- geoserver_tag_releases %>%
filter(yearcollected > 2018)geoserver_projects <- readr::read_csv('https://members.oceantrack.org/geoserver/otn/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=otn:otn_resources_metadata_points&outputFormat=csv', guess_max = 13579)otn_stations <- geoserver_receivers %>%
filter(!is.na(deploy_date)) %>%
filter((deploy_date > proj_start & deploy_date < proj_end) |
(recovery_date < proj_end & recovery_date > proj_start) |
(deploy_date < proj_end & is.na(recovery_date) & deploy_date > proj_start - duration(18, 'months')) |
(grepl('VR3', model) & deploy_date < proj_end & is.na(recovery_date) & deploy_date > proj_start - duration(4, 'years')) |
(grepl('VR4', model) & deploy_date < proj_end & is.na(recovery_date) & deploy_date > proj_start - duration(6, 'years'))) %>%
filter(stn_lat >= proj_lat_low & stn_lat <= proj_lat_upp &
stn_long >= proj_long_low & stn_long <= proj_long_upp)# Define the columns to keep
columns_to_keep <- c("FID", "institutioncode", "datacenter_reference", "scientificname", "vernacularname",
"longitude", "latitude", "basisofrecord", "yearcollected", "collector", "classname")
# Filter and select the desired columns
otn_animals <- geoserver_tag_releases %>%
filter(longitude >= proj_long_low & longitude <= proj_long_upp &
latitude >= proj_lat_low & latitude <= proj_lat_upp) %>%
select(all_of(columns_to_keep))# Define the columns to keep
columns_to_keep_projects <- c("FID", "resource_full_name", "ocean", "seriescode", "status", "collaborationtype")
# Filter and select the desired columns
otn_projects <- geoserver_projects %>%
filter(seriescode == "DFOCanada") %>%
select(all_of(columns_to_keep_projects))OTN Summary of Receivers in Eastern Canada
library(leaflet)
# Create a Leaflet map
map <- leaflet(otn_stations) %>%
addTiles() # Add default basemap
# Add circle markers for each station
map <- map %>%
addCircleMarkers(
lng = ~stn_long,
lat = ~stn_lat,
label = ~paste(seriescode, instrumenttype, sep = " - "),
radius = 0.5, # Adjust the circle marker size as needed
color = ~ifelse(seriescode == "DFOCanada", "red", "blue"), # Marker color
fillOpacity = 0.8 # Adjust fill opacity
)
#Add bounding box based on filter
map <- map %>%
addRectangles(
lng1 = proj_long_low, # Left longitude
lat1 = proj_lat_low, # Lower latitude
lng2 = proj_long_upp, # Right longitude
lat2 = proj_lat_upp, # Upper latitude
weight = 2.5, # Border width
color = "darkorange", # Border color
fill = FALSE # Don't fill the rectangle
)
map <- map %>%
addLegend(
position = "bottomleft",
colors = c("blue", "red", "darkorange"),
labels = c("All OTN", "OTN-DFO", "Data filter"),
title = "Legend"
)
map <- map %>%
addControl(
html = sprintf("<strong>Filter:</strong> %s - %s", proj_start, proj_end)
)# Calculate the total number of receivers for each seriescode
summary_table <- otn_stations %>%
group_by(seriescode) %>%
summarize(
Total_Receivers = n()) %>%
mutate(Percentage_Relative_To_Total = round((Total_Receivers / sum(Total_Receivers)) * 100, 0)) # Calculate percentage and round
# Print table
table_receivers<- knitr::kable(summary_table,
format = "markdown",
align = "l",
width = "100%")Disclaimer: Information includes data that has been filtered for specific criteria relevant for eastern Canada and does not encompass all available OTN data. For a comprehensive dataset, please visit the OTN website.
# Display the map and table
maptable_receivers| seriescode | Total_Receivers | Percentage_Relative_To_Total |
|---|---|---|
| DFOCanada | 1348 | 19 |
| OTNCanada | 431 | 6 |
| OTNGlobal | 4425 | 63 |
| UNAFFILIATED | 819 | 12 |
OTN Summary of Species Tagged in Eastern Canada as part of DFO projects
This section is a summary of the OTN-DFO data, focusing on # of animals tagged by species in Eastern Canada. It includes the following elements:
- Number of animals tagged (i.e. number of tags deployed) displayed on the y-axis.
- Species displayed on the x-axis.
- A summary statistic comparing the number of animals tagged with involvement from DFO
# Create a summary table with counts of animals tagged by species
summary_otn_animals <- otn_animals %>%
group_by(vernacularname) %>%
summarise(Count = n(),
Count_DFO = sum(grepl("DFO", institutioncode)))
# Reorder the levels of vernacularname based on Count in descending order
summary_otn_animals <- summary_otn_animals %>%
arrange(desc(Count)) %>%
mutate(vernacularname = factor(vernacularname, levels = vernacularname))
library(plotly)
plot_animals <- ggplot(summary_otn_animals, aes(x = vernacularname)) +
geom_bar(aes(y = Count, fill = "OTN"), stat = "identity", position = "dodge") +
geom_bar(aes(y = Count_DFO, fill = "OTN-DFO"), stat = "identity", position = "dodge") +
labs(
title = "Number of Animals Tagged by Species in Eastern Canada",
x = "Species",
y = "Number of Animals Tagged"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
coord_flip() +
scale_fill_manual(values = c("OTN" = "blue", "OTN-DFO" = "red"))
# Convert the ggplot plot to a plotly object
interactive_plot <- ggplotly(plot_animals) %>%
layout(legend = list(x = 0.5, y = 1))# Create a Leaflet map named map_animals
map_animals <- leaflet(otn_animals) %>%
addTiles() # Add default basemap
# Add circle markers for each animal tagged
map_animals <- map_animals %>%
addCircleMarkers(
lng = ~longitude,
lat = ~latitude,
label = ~paste(institutioncode, scientificname, vernacularname, yearcollected, collector, sep = " - "),
radius = 0.5, # Adjust the circle marker size as needed
color = ~ifelse(grepl("DFO", institutioncode), "red", "blue"), # Marker color
fillOpacity = 0.8 # Adjust fill opacity
)
#Add bounding box based on filter
map_animals <- map_animals %>%
addRectangles(
lng1 = proj_long_low, # Left longitude
lat1 = proj_lat_low, # Lower latitude
lng2 = proj_long_upp, # Right longitude
lat2 = proj_lat_upp, # Upper latitude
weight = 2.5, # Border width
color = "darkorange", # Border color
fill = FALSE # Don't fill the rectangle
)
# Add legend
map_animals <- map_animals %>%
addLegend(
position = "bottomleft",
colors = c("blue", "red", "darkorange"),
labels = c("OTN", "OTN-DFO", "Data filter"),
title = "Legend"
)
# Create a text box to display min and max years
min_year <- min(otn_animals$yearcollected)
max_year <- max(otn_animals$yearcollected)
map_animals <- map_animals %>%
addControl(
html = sprintf("<strong>Year Collected Range:</strong> %d - %d", min_year, max_year),
position = "topleft"
)map_animalsinteractive_plotsummary_otn_animals$Percentage = ifelse(summary_otn_animals$Count_DFO == 0, "0%", paste0(round(summary_otn_animals$Count / summary_otn_animals$Count_DFO * 100), "%"))
knitr::kable(summary_otn_animals[, c("vernacularname", "Count", "Percentage")], format = "markdown",
col.names = c("Species", "OTN Total", "% OTN-DFO Tagging"),
caption = "Summary of Animals Tagged by Species in Eastern Canada")| Species | OTN Total | % OTN-DFO Tagging |
|---|---|---|
| Atlantic salmon | 409 | 100% |
| Atlantic cod | 59 | 100% |
| blue shark | 50 | 0% |
| American lobster | 38 | 0% |
| Atlantic halibut | 37 | 100% |
| American eel | 33 | 0% |
| alewife | 32 | 100% |
| snow crab | 20 | 100% |
| Atlantic tomcod | 1 | 100% |
| shorthorn sculpin | 1 | 100% |
OTN and DFO Project Summaries
This section provides an overview of the 24 DFO-OTN projects available in the OTN database.
We have applied a basic filter in this section, considering projects affiliated with DFO, without specific filters related to years or geographic locations.
Please note that while we strive to include all relevant DFO-OTN projects in this summary, there may be instances where some projects are not listed. If you are a DFO researcher with an OTN project that you do not see here, we encourage you to contact OTN directly.
For the most up-to-date and comprehensive information on OTN projects and their participants, please visit the official OTN website: OTN Website
stacked_bar_plot <- ggplot(otn_projects, aes(x = collaborationtype, fill = status)) +
geom_bar() +
labs(title = "Collaboration Type Distribution") +
theme_minimal() +
scale_fill_manual(values = c("ongoing" = "green", "completed" = "blue", "proposed" = "orange")) +
coord_flip()
# Convert the ggplot to a plotly object
interactive_stacked_bar_plot <- ggplotly(stacked_bar_plot)
interactive_stacked_bar_plot %>%
layout(legend = list(x = 0.5, y = 1))knitr::kable(otn_projects[, c("resource_full_name", "ocean", "status", "collaborationtype")],
caption = "Summary of DFO-OTN Projects",
format = "html",
col.names = c("Project Title", "Ocean", "Status", "Collaboration Type"))| Project Title | Ocean | Status | Collaboration Type |
|---|---|---|---|
| Migration of spiny dogfish | NW ATLANTIC | completed | Tracker |
| Using a combination of 180kHz acoustic telemetry and satellite telemetry to quantify the early survival of harbour seal pups and connectivity between colonies of the St Lawrence Estuary | NW ATLANTIC | ongoing | Data |
| Southern Gulf of St. Lawrence - DFO Cod Tagging | NW ATLANTIC | completed | Tracker |
| Homing behaviour of short horn sculpin (Myoxocephalus scorpius) as measured by telemetry tracking in Newman Sound, Terra Nova National Park | NW ATLANTIC | completed | Data |
| Dispersal in juvenile cod | NW ATLANTIC | completed | Data |
| Maritimes Conservation Network: Gully Marine Protected Area (MPA) Acoustic Tracking Study | NW ATLANTIC | ongoing | Data |
| Mixing of northern Gulf of St Lawrence cod into 3Ps: The Counting Fence project | NW ATLANTIC | completed | Data |
| LaHave River, NS, Canada: DFO Salmon tagging | NW ATLANTIC | completed | Tracker |
| Movement and habitat use of wolffish species in Newfoundland waters | NW ATLANTIC | completed | Data |
| Inner Bay of Fundy Striped Bass Acoustic Telemetry | NW ATLANTIC | ongoing | Data |
| St. Mary’s River adult Atlantic salmon tracking project | NW ATLANTIC | completed | Data |
| Movements of Greenland sharks near the seal colony at Sable Island, Canada | NW ATLANTIC | ongoing | Tracker |
| Smith Sound, Newfoundland - DFO Acoustic Array and Atlantic Cod Tagging | NW ATLANTIC | ongoing | Data |
| Long-term telemetry study of Gilbert Bay Marine Protected Area, Southern Labrador | NW ATLANTIC | ongoing | Data |
| Kennebecasis Basin Salmon Tracking | NW ATLANTIC | completed | Tracker |
| Maritimes Region Atlantic salmon marine survival and migration. | NW ATLANTIC | ongoing | Data |
| Maritimes Conservation Network: St. Anns Bank Marine Protected Area (MPA) Acoustic Tracking Study | NW ATLANTIC | ongoing | Data |
| Shark Spatial Ecology and life history in NL waters | NW ATLANTIC | ongoing | Data |
| Assessing the effects of aquaculture operations on the distribution and abundance of pelagic fishes and large predators in the Bay of Fundy. ##### Évaluation des effets des opérations aquaculture sur la distribution et l’abondance des poissons pélagiques et des grands prédateurs dans la baie de Fundy. | NW ATLANTIC | ongoing | Data |
| DFO-NL Atlantic Cod Telemetry | NW ATLANTIC | ongoing | Tracker |
| Investigating the spatial habitat interactions of a recent invader, green crab, to native species within Placentia Bay, Newfoundland | NW ATLANTIC | completed | Data |
| Residency time, migration route, and survival of Atlantic salmon (Salmo salar) smolts and kelts in a Canadian fjord. | NW ATLANTIC | completed | Data |
| Migration of porbeagle and blue sharks | NW ATLANTIC | completed | Tracker |
| Scotian Shelf Snow Crab Tagging | NW ATLANTIC | ongoing | Data |
Future work includes creating the following additional information for projects:
- Project Title:
- Citation:
- Points of contact:
- Species tagged:
- Abstract: